#include <stdio.h>
#include <iostream>
#include <string>
#include <vector>
#include <math.h>
#include <algorithm>
#include <map>
#include <queue>
#include <list>
#define sf(x) scanf("%d", &x)
#define pf(x) printf("%d", x)
#define pf2(x,y) printf("%d %d ", x,y)
#define sf2(x,y) scanf("%d %d", &x,&y)
#define sff(x) scanf("%lf", &x)
#define pff(x) printf("%lf ", x)
#define ENDL printf("\n")
#define pfl(x) printf("%I64d ", x)
#define sfl(x) scanf("%I64d", &x)

using namespace std;

typedef long long ll;


int coins[1001];


int main()
{
	//freopen("input.txt", "r", stdin);
	//freopen("output.txt", "w", stdout);
	int i;
	ll sum2;
	ll s;
	ll ans=0;
	int n;
	sf(n);
	for(i=0;i<n;i++)
	{
		sf(coins[i]);
	}
	scanf("%I64d",&s);
	sort(coins,coins+n);
	int c;
	c=coins[n-1];
	sum2=s-c-s%c;
	int ans2;
	ans2=s/c-1;
	s=c+s%c;
	int sum=0,iter=0;
	while(sum<s)
	{
		if(coins[iter+1]>sum+1)
		{
			sum+=coins[iter];
			ans++;
		}
		else
		{
			iter++;
		}
	}
	cout<<ans+ans2;
	return 0;
}